import {
	defineConfig,
	loadEnv
} from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import {
	ElementPlusResolver
} from 'unplugin-vue-components/resolvers'
import path from 'path'

import {
	createSvgIconsPlugin
} from 'vite-plugin-svg-icons'


function getPath(name) {
	return path.resolve(__dirname, name)
}

// https://vitejs.dev/config/
export default defineConfig(({
	command,
	mode
}) => {


	// 根据当前工作目录中的 `mode` 加载 .env 文件
	// 设置第三个参数为 '' 来加载所有环境变量，而不管是否有 `VITE_` 前缀。
	const env = loadEnv(mode, process.cwd(), '')
	return {
		define: {
			__APP_ENV__: env.APP_ENV,
		},
		plugins: [
			vue(),
			AutoImport({
				resolvers: [ElementPlusResolver()],
			}),
			Components({
				resolvers: [ElementPlusResolver()],
			}),
			createSvgIconsPlugin({
				// 指定图标文件夹，绝对路径（NODE代码）
				iconDirs: [path.resolve(process.cwd(), 'src/assets/icons/svg')]
			})

		],
		resolve: {
			alias: {
				'@': getPath('./src'),
				'page': getPath('./src/pages'),
				'utils': getPath('./src/utils')
			}
		},
		server: {
			host: '0.0.0.0',
			proxy: {
				// detail: https://cli.vuejs.org/config/#devserver-proxy
				[env.VITE_VUE_APP_BASE_API]: {
					target: `http://kq-prod.phpstu.cn/prod-api/`,
					// target: `http://127.0.0.1:7082/`,
					changeOrigin: true,
					rewrite: (path) => {
						const reg = new RegExp(`^${env.VITE_VUE_APP_BASE_API}`)
						// console.log(path.replace(reg, ''))
						return path.replace(reg, '')
					},
					// rewrite: {
					//   ['^' + env.VITE_VUE_APP_BASE_API]: ''
					// }
				}
			}
		}
	}
})
